
from random import *
times = 1000*100   #增加循环次数
count = 0           #计数器
for i in range(times):
    lis = []        #建立一个空列表,
    for j in range(23):     #随机取出每个人的生日放入列表中
        lis.append(randint(1,366))
    if len(lis) != len(set(lis)):
        count += 1
print("至少有两个人生日相同的概率{:.3f}%".format(count/times*100))


'''
#exam6.5.py 羊车门事件
#有三个门，门后有两只羊，一辆车，嘉宾先猜一扇门后是羊还是车，若猜是车，则猜对，每次猜后，主持人都会
#提示是否更换一扇门，求变选择和不变选择的猜对的概率是？
from random import *
times = 100 * 100
count1 = 0
count2 = 0
for i in range(times):
    first_choice_car = randint(1,3)   #车的位置有三种可能
    man_choice = randint(1,3)    #人有三种选择
    if  first_choice_car == man_choice:
        count1 += 1
    else:
        count2 += 1
print("不改变后选中的概率:{},改变的概率{}".format(count1/times,count2/times))'''